# (C) Datadog, Inc. 2019-present
# All rights reserved
# Licensed under a 3-clause BSD style license (see LICENSE)
from .common import VERTICA_MAJOR_VERSION

ALL_METRICS = {
    'vertica.connection.active',
    'vertica.connection.total',
    'vertica.delete_vectors',
    'vertica.disk.used',
    'vertica.disk.used.ros',
    'vertica.disk.used.wos',
    'vertica.epoch.ahm',
    'vertica.epoch.current',
    'vertica.epoch.last_good',
    'vertica.file.max',
    'vertica.file.open',
    'vertica.ksafety.current',
    'vertica.ksafety.intended',
    'vertica.license.expiration',
    'vertica.license.latest_audit',
    'vertica.license.size',
    'vertica.license.usable',
    'vertica.license.used',
    'vertica.license.utilized',
    'vertica.ros.containers',
    'vertica.memory.swap.total',
    'vertica.memory.swap.usable',
    'vertica.memory.swap.used',
    'vertica.memory.swap.utilized',
    'vertica.memory.total',
    'vertica.memory.usable',
    'vertica.memory.used',
    'vertica.memory.utilized',
    'vertica.node.allowed',
    'vertica.node.available',
    'vertica.node.delete_vectors',
    'vertica.node.disk.used',
    'vertica.node.disk.used.ros',
    'vertica.node.disk.used.wos',
    'vertica.node.down',
    'vertica.node.resource_requests',
    'vertica.node.ros.containers',
    'vertica.node.row.ros',
    'vertica.node.row.total',
    'vertica.node.row.wos',
    'vertica.node.total',
    'vertica.projection.delete_vectors',
    'vertica.projection.disk.used',
    'vertica.projection.disk.used.ros',
    'vertica.projection.disk.used.wos',
    'vertica.projection.ros.containers',
    'vertica.projection.row.ros',
    'vertica.projection.row.total',
    'vertica.projection.row.wos',
    'vertica.projection.total',
    'vertica.projection.unsafe',
    'vertica.projection.unsafe_percent',
    'vertica.projection.unsegmented',
    'vertica.projection.unsegmented_percent',
    'vertica.processor.core',
    'vertica.processor.cpu',
    'vertica.query.active',
    'vertica.query.total',
    'vertica.resource_pool.memory.borrowed',
    'vertica.resource_pool.memory.max',
    'vertica.resource_pool.memory.used',
    'vertica.resource_pool.query.running',
    'vertica.row.ros',
    'vertica.row.total',
    'vertica.row.wos',
    'vertica.socket.open',
    'vertica.storage.latency',
    'vertica.storage.size',
    'vertica.storage.speed',
    'vertica.storage.throughput',
    'vertica.storage.usable',
    'vertica.storage.used',
    'vertica.storage.utilized',
    'vertica.table.disk.used',
    'vertica.table.disk.used.ros',
    'vertica.table.disk.used.wos',
    'vertica.table.ros.containers',
    'vertica.table.row.ros',
    'vertica.table.row.total',
    'vertica.table.row.wos',
    'vertica.thread.active',
    'vertica.thread.max',
}

if VERTICA_MAJOR_VERSION >= 11:
    # Drop metrics not available in v11+
    ALL_METRICS -= {
        'vertica.node.disk.used.ros',
        'vertica.node.disk.used.wos',
        'vertica.node.row.ros',
        'vertica.node.row.wos',
        'vertica.projection.disk.used.ros',
        'vertica.projection.disk.used.wos',
        'vertica.projection.row.ros',
        'vertica.projection.row.wos',
        'vertica.table.disk.used.ros',
        'vertica.table.disk.used.wos',
        'vertica.table.row.ros',
        'vertica.table.row.wos',
        'vertica.disk.used.ros',
        'vertica.disk.used.wos',
        'vertica.row.ros',
        'vertica.row.wos',
    }
